<?php
/**
 * 定义使用本框架网站的一些公用函数
 * 例如：统一头部输出、统一尾部输出等
 */

 /**
  * 个人设置链接
  */
 function get_setting_url()
 {
	return C('HOME_URL')."/set/";
 }
 /**
  * minisite url
  * $type int : 1 iPhone,2 android,3 symbian ,4 wap
  */
 function get_mobile_url($type) {
 	switch ($type) {
 		case 1:
 			return C('INDEX_URL')."/mobile/iphone";
 		case 2:
 			return C('INDEX_URL')."/mobile/android";
 		case 3:
 			return C('INDEX_URL')."/mobile/symbian";
 		case 4:
 			return C('INDEX_URL')."/mobile/wap";
 		case 7:
 			return C('INDEX_URL')."/mobile/WindowsMobile";
 		case 9:
 			return C('INDEX_URL')."/mobile/Blackberry";
    case 10:
 		  return C('INDEX_URL')."/mobile/WindowsPhone";
 	}
  	return C('INDEX_URL')."/mobile/iphone";
 }
 /**
 * 得到开荒码
 */
 function get_kh_code($count) {

 	if(is_numeric($count) && $count > 0) {

 		$ret = array();
 		$code = get_auto_id(32004,$count);

		while($count > 0) {
			$code = str_pad($code, 6, "0", STR_PAD_LEFT);
			$ret[] = $code;
			$count-- ;
			$code--;
		}

		return $ret;
 	}
 	else
 		return false;

 }
 /**
  * 帮助页面
  */
  function get_help_url() {
  	return C('HOME_URL').'/?_a=help';
  }
/**
 * 邀请链接
 */
 function get_invite_url() {
 	return C('YOUJU_URL').'/?_a=invite';
 }
/**
 * 得到用户主页的URL
 */
function get_user_homeurl($user_id) {

	return get_home_url($user_id);
}

/**
 * 得到登录弹出窗口的HTML代码
 */
function get_login_dialog_html($with_return=1, $forward_url='', $title='') {

	if (empty($title)) $title = '登录切客网';
	return 'showUvanLoginFrame();';
}

function get_reg_dialoy_html_new() {
    $invite_info = Cookie::get("invite_info");
    //if ($invite_info) {
    	$invite_info = explode("|",$invite_info);
    	$user_id     = $invite_info[0];
    	$nick_name   = $invite_info[1];
    	$incon_url   = get_img_url($invite_info[2],"004");

		C('global_config',array_merge(C('global_config'),array(
			'reg_frame_user_id'=>$user_id,
			'reg_frame_nick_name' => $nick_name,
			'reg_frame_incon_url' => $incon_url,
		)));

    	//return 'showRegFrame("<iframe src=\"' . C('USER_URL') . '/reg/index\" width=\"100%\" height=\"420\" scrolling=\"no\" marginwidth=\"0\" frameborder=\"0\"></iframe>","'.$user_id.'","'.$nick_name.'","'.$incon_url.'");';
    //} else {
        //return 'showRegFrameError()';
    //}
}


/**
 * 获取游局兑奖活动详情页面
 */
function get_youju_act_url($act_id) {
	return C('YOUJU_URL').'/?_c=act&_a=goods&act_id='.$act_id;
}

/**
 * 得到注销链接地址
 */
function get_logout_url() {

	return C('USER_URL').'/?_c=login&_a=logout';
}

// 查看用户等级url
function fetch_user_level()
{
	return C('DEST_URL') . '/?_c=dest_act&_a=gpp';
}

// 在主页面点击添加地点的跳转url
function create_poi_url()
{
	return C('DEST_URL') . '/?_c=dest_create&id=';
}

// 积分说明链接
function grade_comment_url()
{
	return  C('HOME_URL') . '/?_c=score&_a=jfhelp';
}

// 根据地点id获取照片列表url
function destid2plurl($pid) {
	return C('DEST_URL') . '/' . $pid."/album";
}

//根据地点id获取记录，推荐记录，话题url
function destid2recurl($pid,$t)
{
	return C('DEST_URL') . '/?_c=dest_rl&id=' . $pid . '&t=' . $t;
}

/**
作用：获取2期网站的头部html
TO DO LIST: “地点切换”和“领地的头部search”特性，新消息提示层
参数：
	$input =  array(
		'proj'=>1,主导航 1:首页 2:家园 3:领地
		'sub_proj'=>1, 二级导航   0:无效 1:我的游玩或地名 2:照片 3:记录 4:活动 5:游戏, 6:游局
		'login_uid'=>1, //登录用户ID,
		'login_nick_name'=>'强哥', //登录用户nickname
		'target_uid'=>1, //被访问用户ID
		'target_nickname'=>1, //被访问用户昵称
		'poi_id'=>31, //当前城市id
		'poi_name'=>'上海', //当前城市名
		'target_poi_id'=>31, //正在访问的城市ID，领地产品下有效
		'target_poi_name'=>'上海', //正在访问的城市名，领地产品下有效
		'new_msg'=>1, //是否支持检测新的消息,todo
		'fromsite'=>1, //来源 proj  0:其他 1:home，2:dest   ,主要给二级导航产品提供来源识别，便于设定正确的$input参数和输出二级url来源产品类型
		'nag_lv2'=>true/false, /// 是否显示二级导航，默认是true
	);
返回：
	头部html代码
注意：
	$input示例：
	对于家园:
	$input = array('proj'=>1,主导航 1:广场 2:我的 3:地点
		'sub_proj'=>1, 二级导航 1:我的游玩或地名 2:照片 3:记录 4：活动 5：游戏 ,6:邮局
		'login_uid'=>1, //登录用户ID，
		'login_nick_name'=>'强哥', //登录用户nickname
		'target_uid'=>1, //被访问用户ID
		'target_nickname'=>'强哥', //被访问用户昵称
		'poi_id'=>31, //当前城市id
		'poi_name'=>'上海', //当前城市名
		'target_poi_id'=>31, //正在访问的城市ID，领地产品下有效
		'target_poi_name'=>'上海', //正在访问的城市名，领地产品下有效
		'new_msg'=>1, //是否支持检测新的消息,todo
		'fromsite'=>0 //来源proj  0:其他 : 1:home，2:dest
		);
	对于领地:
	$input = array('proj'=>3,主导航 1:广场 2:我的 3:地点
		'sub_proj'=>1, 二级导航 1:我的游玩或地名 2:照片 3:记录 4：活动 5：游戏 ,6:邮局
		'login_uid'=>0, //登录用户ID，
		'login_nick_name'=>'强哥', //登录用户nickname
		'target_uid'=>0, //被访问用户ID
		'target_nickname'=>'', //被访问用户昵称
		'poi_id'=>31, //当前城市id
		'poi_name'=>'上海', //当前城市名
		'city_id'=>31 , //当前城市
		'city_name'=>'上海' , //当前城市名
		'target_poi_id'=>131, //正在访问的城市ID，领地产品下有效
		'target_poi_name'=>'南京', //正在访问的城市名，领地产品下有效
		'new_msg'=>1, //是否支持检测新的消息,todo
		'fromsite'=>0 //来源proj  0:其他 : 1:home，2:dest
		);
	对于活动:
	$input = array('proj'=>2,主导航 1:广场 2:我的 3:地点
		'sub_proj'=>4, 二级导航 1:我的游玩或地名 2:照片 3:记录 4：活动 5：游戏 ,6:邮局
		'login_uid'=>12, //登录用户ID，
		'login_nick_name'=>'强哥', //登录用户nickname
		'target_uid'=>3, //被访问用户ID
		'target_nickname'=>'强哥', //被访问用户昵称
		'poi_id'=>31, //当前城市id
		'poi_name'=>'上海', //当前城市名
		'target_poi_id'=>131, //正在访问的城市ID，领地产品下有效
		'target_poi_name'=>'南京', //正在访问的城市名，领地产品下有效
		'new_msg'=>1, //是否支持检测新的消息,todo
		'fromsite'=>2  //来源proj  0:其他 : 1:home，2:dest
		);
	对于首页
	$input = array('proj'=>1, 主导航 1:广场 2:我的 3:地点
		'sub_proj'=>0, 二级导航 1:我的游玩或地名 2:照片 3:记录 4：活动 5：游戏  0:无效,6:邮局
		'login_uid'=>0, //登录用户ID，
		'login_nick_name'=>'强哥', //登录用户nickname
		'target_uid'=>0, //被访问用户ID
		'target_nickname'=>'', //被访问用户昵称
		'poi_id'=>31, //当前城市id
		'poi_name'=>'上海', //当前城市名
		'target_poi_id'=>0, //正在访问的城市ID，领地产品下有效
		'target_poi_name'=>'', //正在访问的城市名，领地产品下有效
		'new_msg'=>1, //是否支持检测新的消息,todo
		'fromsite'=>0  //来源proj  0:其他 : 1:home，2:dest
		);

*/
function get_header_html_v2($input,$opmode=0) {
	return get_site_header_html($input,$opmode);
}

/**
 * get_header_html_v2版的实现
 */
function get_site_header_html($input,$opmode=0) {

	$htmlContext = '';
	$scriptContext = '';

	if (!is_array($input)) $input = array();
	if (!isset($input['nag_lv2'])) $input['nag_lv2'] = true;

	$input['login_uid'] = intval($input['login_uid']);

	/// 如果用户未登录，直接跳转到首页，让用户登录
	if (!(isset($input['login_uid']) && ($input['login_uid'] > 0))) {

		/// 这几种类型的proj，不需要跳转啦， 9996：其他平台 / 9997：新浪 / 9998：腾讯 / 9999：其他
		$exception_proj_list = array(1, 3, 4, 5, 9996, 9997, 9998, 9999);

		if (!in_array($input['proj'], $exception_proj_list)) {

			/// 这里，要判断HTTP_REFERER，如果REFERER是登录链接过来的，clear_forward=true
			$clear_forward = false;

			if (isset($_SERVER['HTTP_REFERER']) && (false !== strpos($_SERVER['HTTP_REFERER'], '?_c=login&_a=logout'))) {
				$clear_forward = true;
			}
			else {
				$refer = tolower(urldecode($_SERVER['HTTP_REFERER']));
				$page_url = tolower(((isset($_SERVER['HTTPS']) && (strtolower($_SERVER['HTTPS']) != 'off')) ? 'https://' : 'http://').$_SERVER['HTTP_HOST'].urldecode($_SERVER['REQUEST_URI']));

				if ($refer == $page_url) {
					$clear_forward = true;
				}
			}
			redirect(C('INDEX_URL'), $clear_forward);
		}
	}

	/// 如果没有设置当前主导航
	if (!isset($input['proj'])) {
		return 'navigator params error!';
	}

	/// 家园
	if ($input['proj'] == 2) {

		if (!isset($input['login_uid']) &&  !isset($input['target_uid'])) {

			return 'home navigator params error!';
		}
	}

	$main_active = array(
				1=>' class="nv-index"', // 首页
				2=>' class="nv-home"', // 家园
				3=>'', // 目的地
				4=>'', // CTO
				5=>'' // 手机
			);

	$sub_active = array(
				1=>'', // 我的游玩
				2=>'', // 照片
				3=>'', // 记录
				4=>'', // 活动
				5=>'', // 游戏
				6=>'', // 游局
				7=>'', // 兑换
			);

	$moving_main_bar_pos = array(
				1=>58, // 首页
				2=>198, // 家园
				3=>338, // 目的地,
				4=>478 // CTO,
			);

	$moving_sub_bar_pos = array(
				1=>0, // 我的游玩|或地点
				2=>70, // 相册
				3=>140, // 记录
				4=>210, // 活动
				5=>280, // 游戏,
				6=>280, // 游戏,
				7=>350 // 兑换,

			);


	if (isset($main_active[$input['proj']])) $main_active[$input['proj']] = ' class="on"';
	if (isset($sub_active[$input['sub_proj']]))  $sub_active[$input['sub_proj']]  = ' class="on"';
	// when user unlogin, homepage link style not highline.
	if (isset($input['proj']) && $input['proj'] == 1) {
		$main_active[$input['proj']] = ((!isset($input['login_uid']) ||  !intval($input['login_uid']))) ?  '' : ' class="on"';
	}

	$img_url_cfg=C('PHOTO_RD_URL');

	/*
	$img_url_js_str="new Array(";
	foreach ($img_url_cfg as $key => $url_info){
	    $img_url_js_str.="'".$url_info."',";
	}
	if (substr($img_url_js_str,-1)==",")
	    $img_url_js_str=substr($img_url_js_str,0,-1);
	$img_url_js_str.=")";
	*/

	$img_url_js_str = array();
	foreach ($img_url_cfg as $key => $url_info){
		array_push($img_url_js_str,$url_info);
	}
	$img_url_js_str = (json_encode($img_url_js_str));


	$html = '';
	//待删除
	if($opmode==0){
	$html .= '<script type="text/javascript">';
		$html .= 'var global_config = {
			domain_url : "'.C('DOMAIN_URL').'",
			cto_url : "'.C('CTO_URL').'",
			bbs_url : "'.C('BBS_URL').'",
			index_url : "'.C('INDEX_URL').'",
			home_url : "'.C('HOME_URL').'",
			user_url : "'.C('USER_URL'). '",
			youju_url : "'.C('YOUJU_URL'). '",
			party_url : "'.C('PARTY_URL'). '",
			dest_url : "'.C('DEST_URL').'",
			mapapi_url : "'.C('MAPAPI_URL').'",
			img_domain : "'.C('IMG_DOMAIN').'",
			record_url : "'.C('RECORD_URL'). '",
			photo_domain : "'.C('PHOTO_DOMAIN'). '",
			global_rewrite : '.C('REWRITE'). ',
			login_uid : '.$input['login_uid']. ',
			img_url_cfg : '.$img_url_js_str.'
		};';
		$html .= '</script>';
	}
	if($opmode==0)$html .= uvan_get_js('location',C('SITE_DEF_JS_VERSION'));

	//判断是否为游戏
	if ( $input['proj'] != 4 ) {
		$html .= '<div class="header">';
	} else {
		$html .= '<div class="header" style="height:90px;">';
	}
	$html .=  '<div class="header-inner w960">';
	$html .=  '<h1 class="logo"><a href='.C('INDEX_URL').'>切客网</a></h1>';
	$html .=  '	<div class="top-nav">';
	$html .= '<ul>';
	if ( $input['login_uid']>0 ) {
		//$html .= '      <li class="nv-index"><a '.$main_active[1].' href="'.C('INDEX_URL').'">首页</a></li>';
		$html .= '	    <li class="nv-home"><a '.$main_active[2].' href="'.C('HOME_URL').'">家园</a></li>';
		$html .= '      <li class="nv-dest"><a '.$main_active[3].' href="'.C('DEST_URL').'">地点</a></li>';
		$html .= '      <li class="nv-mobile"><a '.$main_active[5].' href="'.get_mobile_url(1).'">手机</a></li>';
		$html .= '      <li class="nv-blog"><a '.$main_active[4].' href="'.C('INDEX_URL').'/blog">切客行动</a></li>';
	} else {
		//$html .= '      <li class="nv-index"><a '.$main_active[1].' href="'.C('INDEX_URL').'">首页</a></li>';
		$html .= '	    <li class="nv-home"><a '.$main_active[2].' href="'.C('HOME_URL').'">家园</a></li>';
		$html .= '      <li class="nv-dest"><a '.$main_active[3].' href="'.C('DEST_URL').'">地点</a></li>';
		$html .= '      <li class="nv-mobile"><a '.$main_active[5].' href="'.get_mobile_url(1).'">手机</a></li>';
		$html .= '      <li class="nv-blog"><a '.$main_active[4].' href="'.C('INDEX_URL').'/blog">切客行动</a></li>';
	}
	$html .= '    </ul>';
    $html .= '</div>';

	// 如果不是首页，未登录和游戏，才会显示二级导航
	if (($input['proj'] != 1) && ($input['proj'] != 4) && $input['nag_lv2'] && ($input['proj'] != 9996) && ($input['proj'] != 9997) && ($input['proj'] != 9998) && ($input['proj'] != 9999)) {

		if($input['proj'] == 2 ) {

			$html .='<div class="tn-sub" style="left:193px"><div class="tns-left"></div><div class="tns-middle"><ul>';
			$local_login_uid = $input['login_uid']?$input['login_uid']:0;

			/// 登录
			if ($local_login_uid >0) {

				$html .= '<li><a href="'.get_home_url($local_login_uid).'"'.$sub_active[1].'><span>个人主页</span></a></li>';
				//$html .= '<li><a href="'.get_album_url($local_login_uid,$input['fromsite']).'"'.$sub_active[2].'><span>照片</span></a></li>';
				$html .= '<li><a href="'.get_record_url($local_login_uid,$input['fromsite']).'"'.$sub_active[3].'><span>记录</span></a></li>';
				//$html .= '<li><a href="'.C('PARTY_URL').'"'.$sub_active[4].'><span>活动</span></a></li>'; /// get_party_user_url($local_login_uid)
				//$html .= '<li><a href="'.get_bbs_url($local_login_uid).'"'.$sub_active[5].'><span>论坛</span></a></li>';
				$html .= '<li><a href="'.C("YOUJU_URL").'"'.$sub_active[6].'><span>游票</span></a></li>';
				//$html .= '<li><a href="'.C("YOUJU_URL").'/?_c=exchange&_a=exchangelist"'.$sub_active[7].'><span>兑换</span></a></li>';
			}
			/// 未登录
			else {

				$html .= '<li><a id="_header_common_login_class0" href="javascript:;" onclick=\'void(0);\'><span>个人主页</span></a></li>';
				//$html .= '<li><a id="_header_common_login_class1" href="javascript:;" onclick=\'void(0);\'><span>照片</span></a></li>';
				$html .= '<li><a id="_header_common_login_class2" href="javascript:;" onclick=\'void(0);\'><span>记录</span></a></li>';
				//$html .= '<li><a id="_header_common_login_class3" href="javascript:;" onclick=\'void(0);\'><span>活动</span></a></li>';
				//$html .= '<li><a href="'.get_bbs_url($local_login_uid).'"'.$sub_active[5].'><span>论坛</span></a></li>';
				$html .= '<li><a href="'.C("YOUJU_URL").'"'.$sub_active[6].'><span>游票</span></a></li>';
				//$html .= '<li><a href="'.C("YOUJU_URL").'/?_c=exchange&_a=exchangelist"><span>兑换</span></a></li>';
			}
			$html .= '</ul><!--end tn-sub--></div>';
			$html .='<div class="tns-right"></div><div class="tns-arrow"></div></div>';
		} else if($input['proj'] == 3) {
			$html .="";
		} else if ($input['proj'] == 5) {
			$html .='<div class="tn-sub" style="left:434px"><div class="tns-left"></div><div class="tns-middle"><ul>';
				$html .= '<li><a href="'.get_mobile_url(1).'"'.$sub_active[1].'><span>iPhone</span></a></li>';
				$html .= '<li><a href="'.get_mobile_url(2).'"'.$sub_active[2].'><span>Android</span></a></li>';
				$html .= '<li><a href="'.get_mobile_url(3).'"'.$sub_active[3].'><span>Symbian</span></a></li>';
				$html .= '<li><a href="'.get_mobile_url(4).'"'.$sub_active[4].'><span>Wap</span></a></li>';
				$html .= '<li><a href="'.get_mobile_url(7).'"'.$sub_active[5].'><span>WM</span></a></li>';
				$html .= '<li><a href="'.get_mobile_url(9).'"'.$sub_active[6].'><span>黑莓</span></a></li>';
				$html .= '<li><a href="'.get_mobile_url(10).'"'.$sub_active[7].'><span>WP7</span></a></li>';


			$html .= '</ul><!--end tn-sub--></div>';
			$html .='<div class="tns-right"></div><div class="tns-arrow"></div></div>';
		}
	}

	if(isset($input['cur_city_id']) && $input['cur_city_id'] > 0){
    	$city['poi_id'] = $input['cur_city_id'];
    	$city['poi_name'] = $input['cur_city_name'];
    } else {
    	$city = getIpLocation();
    }
	$html .='<div class="header-info">';
	$html .='<p class="color-5">';

	if(isset($input['login_uid']) &&  $input['login_uid']>0) {
        //dump($input);
		$_apiUser = new UserApi();
        $_resUserInfo = $_apiUser->getUser($input['login_uid']);
        $_arrUserInfo = $_resUserInfo['data'];
        //dump($_ret);

    	$html .= '<b><a href="'.get_home_url($input['login_uid']).'">'.$input['login_nick_name'].'</a></b> | ';
   		$html .= '<a href="'.get_search_url().'">找人</a> | <a  id="msg_span" href="'.C('HOME_URL').'/message/">消息</a> | <a href="'.get_invite_url().'">邀请</a> | <a href="'.get_setting_url().'">设置</a> | <a href="'.get_help_url().'">帮助</a> | <a href="'.get_logout_url().'">退出</a>';
	}
	else {
		$html .='<a href="'.C("USER_URL").'/login/">登录</a> | <a href="http://register.sdo.com/register.asp?from=451&zone=web">注册</a>';
	}
	$html .='</p><!--end operates-->';
	if(isset($input['login_uid']) && $input['login_uid'] > 0){
		$html .= '<div class="message-info-box" id="mib1" style="position:absolute;width:130px;right:78px;top:43px;text-align:left;z-index:1;">
	            	<a id="popupCLose2" onfocus="this.blur();" href="javascript:;" class="popupCLose"></a>
	            	<div class="arrow6"></div>
	            	<div id="msg_info">

	                </div>
	            </div>';
		$html .= '<div id="change_city_pos" class="change-city-pos" style="display:none;"><a onfocus="this.blur();" href="javascript:;" class="popupCLose"></a><p style="text-align:left;margin-bottom:10px;"></p><p><input type="button" id="city_save_button"  value="保 存" class="dblue-btn1" /></p></div>';
	}
		if($input['login_uid'] != 0){
			$html .='<p>';
			$html .='<span>当前城市：</span><strong><a id="a_location" name="a_location" href="'.get_dest_url($city['poi_id']).'">'.$city['poi_name'].'</a></strong>';
			if(isset($input['login_uid']) && $input['login_uid'] > 0)
				$html .=' <span>[<a href="#" id="change_city_pos_btn">修改</a>]</span>';
			$html .='</p><!--end city-choose-->';
		}
		$html .='</div><!--end header-info-->';

    /*注释开荒按钮*/
	//if (isset($input['proj']) && ($input['proj'] !=1) && ($input['proj'] !=4) && ($input['proj'] !=5))  $html .='<div class="pos-add"><a href="javascript:" id="href_create_new_poi" title="开荒">开荒</a></div>';
	if (isset($input['proj']) && ($input['proj'] !=1) && ($input['proj'] !=4) && ($input['proj'] !=5) && $input['nag_lv2']){
		if($input['login_uid'] != 0){
			$html .='		<div class="t-search">';
		} else {
			$html .='		<div class="t-search" style="top:40px">';
		}
		$html .='<div class="t-s-fg">
					<label for="search_key" id="search_txt">找' . $input['city_name'] . '地点（如：东方明珠）</label>
					<input id="search_key" type="text" class="input-txt" autocomplete="off" />
					<input type="button" value="" title="搜索" class="gosrch" id="search_btn"/>
				</div>
				<div class="t-s-bg"><img src="'.C('IMG_DOMAIN').'/images/global/search_bg.png" width="226" height="37" /></div>
			</div>';
	}else{
		$html .='		<div class="t-search" style="display:none">
				<div class="t-s-fg">
					<label for="search_key" id="search_txt">找' . $input['city_name'] . '地点（如：东方明珠）</label>
					<input id="search_key" type="text" class="input-txt" autocomplete="off" />
					<input type="button" value="" title="搜索" class="gosrch" id="search_btn"/>
				</div>
				<div class="t-s-bg"><img src="'.C('IMG_DOMAIN').'/images/global/search_bg.png" width="226" height="37" /></div>
			</div>';
	}

	/**********************临时放这里****************************/
	$global_config = array(				//home移出啦
		'domail_url' => C('DOMAIN_URL'),
		'cto_url' => C('CTO_URL'),
		'bbs_url' => C('BBS_URL'),
		'index_url' => C('INDEX_URL'),
		'home_url' => C('HOME_URL'),
		'user_url' => C('USER_URL'),
		'youju_url' => C('YOUJU_URL'),
		'party_url' => C('PARTY_URL'),
		'dest_url' => C('DEST_URL'),
		'mapapi_url' => C('MAPAPI_URL'),
		'img_domain' => C('IMG_DOMAIN'),
		'record_url' => C('RECORD_URL'),
		'photo_domain' => C('PHOTO_DOMAIN'),
		'global_rewrite' => C('REWRITE'),
		'city_poi_id' => $city['poi_id'],
		'login_uid' => $input['login_uid'],
		'img_url_cfg' => $img_url_js_str,
	);
	C('global_config',$global_config);
	/**************************************************/
	C('global_config',array_merge(C('global_config'),$input));


	//dump(C('global_config'));


	$html .='</div><!--end header-inner-->
		<div id="div_locate_city" style="width:372px;"></div>
	</div><!--end header-->';

	//dump($input);
	//exit;
	//echo('====>');
	//die($input['login_uid']);

	$_autoCompleteJS = "";
	if ((!isset($input['proj']) || ($input['proj'] != 1)) && ($input['nag_lv2'])){

		if($opmode==0){
			$_autoCompleteJS ='
				$(function(){
					window.autoComplete1 =  new AutoComplete({
						trigger:"#search_key",
						url:"'.C('DEST_URL').'",
						searchBtn:"#search_btn",
						pid:'.($input['city_id'] ? $input['city_id'] : 0).',
						doEnter:function(val){
							location.href = this.options.url + "/?_c=dest_sl&cid=" + ' . ($input['city_id'] ? $input['city_id'] : 0) . '+ "&k=" + encodeURIComponent(val);
						}
					});
				})';
		}else{
			C('global_config',array_merge(C('global_config'),array(
							'input_city_id' => ($input['city_id'] ? $input['city_id'] : 0)
						)
					)
				);
			C('uvScripts',array_merge(C('uvScripts'),array('uv/pages/common/auto_complete.js')));
			//Attention :: here the scripts had been moved to uv/pages/common/auto_complete.js
		}
	}

	$scriptContext = '';
	if($opmode==0)$scriptContext .= '<script type="text/javascript">';
	if($opmode==0){$scriptContext .=''.$_autoCompleteJS.'';}
	if($opmode==0){
		$scriptContext .= '
			$(function(){
				$("#href_create_new_poi").bind("click",function(){
					create_new_poi();return false;
				});
				$("#search_key").focus(function(){
					$("#search_txt").hide();
				}).blur(function(){
					if($("#search_key").val() == ""){
						$("#search_txt").show();
					}
					setTimeout(function(){
						autoComplete1.box.hide();
						$(this).val("");
					}.binding(this),1000);
				});
				window.popup1 = new PopupLayer({
					trigger:"#link_locate_city",
					popupBlk:"#div_locate_city",
					offsets:{
						x:-310,
						y:0
					},
					useFx:true,
					zIndex:999
				});
				$("#popupCLose2").click(function(){
					$("#mib1").hide();
					delMyMessage();
				});
				 function delMyMessage(){
					 var url=get_url("home","msg","delMessageCenterData");
					$.ajax({
						url:url,
						type:"GET",
						cache: false,
						data: "",
						dataType: "jsonp",
						success: function(ret){
							if (ret.code==1){
							}else{
							}
						}
					});
				}

				function do_suggest(){
					popup1.doEffects = function(way){
						way == "open"?this.popupLayer.slideDown("slow"):this.popupLayer.hide();
					};
					popup1.trigger.unbind("click");
					$(document).bind("click",function(e){
						if(e.target != popup1.popupLayer[0]){
							popup1.close();
						}
					})
					popup1.popupLayer.bind("click",function(e){
						e.stopPropagation();
					})
				}
				do_suggest();

				$("#city_save_button").bind("click",function(){
					save_location("'.C('HOME_URL').'",'.$input['proj'].');
				});';
	}else{
		C('global_config',array_merge(C('global_config'),array(
			'input_proj'=>$input['proj'],
		)));
		C('uvScripts',array_merge(C('uvScripts'),array('uv/pages/common/site_header.js')));
	}

	if( isset($input['login_uid']) &&  $input['login_uid']>0 ) {
			if($opmode==0){
				$scriptContext .='
					setTimeout(getMyMessage,3000);
					function getMyMessage(){
						var url=get_url("home","msg","getMessageCenterData");
						$.ajax({
							url:url,
							type:"GET",
							cache: false,
							data: "",
							dataType: "jsonp",
							success: function(ret){
								if (ret.code==1){
									var stamp_new=ret.data.stamp_new;//邮票数
									var cmt_new=ret.data.cmt_new;//评论我的数量
									var at_new=ret.data.at_new;//@我的数量
									var msg_new=ret.data.msg_new;//新消息数
									var sys_new=ret.data.sys_new;//新系统消息数
									var fans_new=ret.data.fans_new;//新粉丝数
									var html_tmp="";
									if (cmt_new > 0){
										html_tmp+="<p><a href=\"'.C("HOME_URL").'/comment/\" class=\"fright\" style=\"margin-right:5px;\">查看 </a><span class=\"color-2\">"+cmt_new+"</span>条新评论</p>";
									}
									if (msg_new > 0){
										html_tmp+="<p><a href=\"'.C("HOME_URL").'/message/\" class=\"fright\" style=\"margin-right:5px;\">查看 </a><span class=\"color-2\">"+(parseInt(msg_new))+"</span>条新私信 </p>";
									}
									if (sys_new > 0){
										html_tmp+="<p><a href=\"'.C("HOME_URL").'/?_c=msg&_a=message_sys\" class=\"fright\" style=\"margin-right:5px;\">查看 </a><span class=\"color-2\">"+(parseInt(sys_new))+"</span>条新系统消息 </p>";
									}
									if (at_new > 0){
										html_tmp+="<p><a href=\"'.C("HOME_URL").'/at/\" class=\"fright\" style=\"margin-right:5px;\">查看 </a><span class=\"color-2\">"+at_new+"</span>条记录提到我</p>";
									}
									if (fans_new > 0){
										html_tmp+="<p><a href=\"'.C("HOME_URL").'/'.$input['login_uid'].'/fans/\" class=\"fright\" style=\"margin-right:5px;\">查看 </a>新增<span class=\"color-2\"> "+fans_new+" </span>个粉丝</p>";
									}
									if (html_tmp !=""){
										$("#msg_info").html(html_tmp);
										//popMsg.doPopup();
										$("#mib1").show();
									}else{
										//popMsg.close();
										$("#mib1").hide();
										return;
									}
								}else{

								}
							}
						});
						setTimeout(getMyMessage,60000);
					}';
			}else{
				C('global_config',array_merge(C('global_config'),array(
					'input_login_uid'=>$input['login_uid'],
				)));
				C('uvScripts',array_merge(C('uvScripts'),array('uv/pages/common/user_logined.js')));
			}
		}
		/**
		 * 用户未登录，需要绑定登录的事件
		 * @version SVN:$Id$
		 */
		else {
			if($opmode==0){
				$scriptContext .= '$("#click_to_login_website").bind("click", function () {
						window.location.href = "'.C("USER_URL").'/login/";
						return false;
					});
				$("#click_to_register_website").bind("click", function () {
						window.location.href = "http://register.sdo.com/register.asp?from=451&zone=web";
						return false;
					});	';

				$scriptContext .='$("#_header_common_login_class0").bind("click", function () {
						' . get_login_dialog_html(1) . '
					});
				$("#_header_common_login_class1").bind("click", function () {
						' . get_login_dialog_html(1) . '
					});
				$("#_header_common_login_class2").bind("click", function () {
						' . get_login_dialog_html(1) . '
					});
				$("#_header_common_login_class3").bind("click", function () {
						' . get_login_dialog_html(1) . '
					});	';
			}else{
				get_reg_dialoy_html_new();
			}
    }
	if($opmode==0)$scriptContext .='	});'."\n";
    if($opmode==0)$scriptContext .=' </script>';
	if($opmode==0){
		return $html.$scriptContext;
	}else{
		$output_header = new stdClass();
		$output_header->html = $html;
		$output_header->inlineScript = $scriptContext;

		/*
		$preLoadScript = '<script type="text/javascript">'."\n";
		$preLoadScript  .= 'var global_config = {
	domain_url : "'.C('DOMAIN_URL').'",
	cto_url : "'.C('CTO_URL').'",
	bbs_url : "'.C('BBS_URL').'",
	index_url : "'.C('INDEX_URL').'",
	home_url : "'.C('HOME_URL').'",
	user_url : "'.C('USER_URL'). '",
	youju_url : "'.C('YOUJU_URL'). '",
	party_url : "'.C('PARTY_URL'). '",
	dest_url : "'.C('DEST_URL').'",
	mapapi_url : "'.C('MAPAPI_URL').'",
	img_domain : "'.C('IMG_DOMAIN').'",
	record_url : "'.C('RECORD_URL'). '",
	photo_domain : "'.C('PHOTO_DOMAIN'). '",
	global_rewrite : '.C('REWRITE'). ',
	city_poi_id : '. $city['poi_id'] .',
	login_uid : '.$input['login_uid']. ',
	img_url_cfg : '.$img_url_js_str.'
};'."\n";
		$preLoadScript .= 'var param = {matdomain: "'.C('IMG_DOMAIN').'"};'."\n";
		$preLoadScript .= '</script>';
		$output_header->preLoadScript = $preLoadScript;
		*/
		return $output_header;
	}
}

/**
 * 网站统一未登录重定向处理
 *
 * 说明：如果只是弹出框提醒登录的则不需要调用此函数
 *
 * @param string forward 登陆后重定向回来的URL，为空默认重定向回当前页
 */
function login_redirect($forward='') {

	$redirect_url = C('INDEX_URL');

	redirect($redirect_url);
}

/**
 * 错误重定向
 */
function error_redirect($url, $msg='') {
	redirect($url, false, '', $msg, 2);
}

//add by caiyang 20100524
/**生成URL
 * $type    string :  "home" "dest" "bbs"
 * $c       string :	_c
 * $a   	string :	_a
 * $data    array  :	参数数组
 */
function get_url($type,$c,$a,$data) {
    if (empty($type))
        return "";
    switch ($type) {
        case "home":
            $url=C("HOME_URL");
        break;
        case "bbs":
            $url=C("BBS_URL");
        break;
        case "dest":
            $url=C("DEST_URL");
        break;
        default:
            $url="";
        break;
    }
    if (empty($url))
        return "";
    if (substr($url,-1)=="/"){
        $url=substr($url,0,-1);
    }
    if (empty($c))
        $c="Index";
    if (empty($a))
        $a="Index";
    $REWRITE= C('REWRITE');
    if (!empty($REWRITE)){
        $url.="/".trim($c);
        $url.="/".trim($a);
        if (!empty($data)){
            foreach($data as $key => $value){
                if ($value===""){
                    $value=" ";
                }
                $url.="/".$key."/".rawurlencode($value);
            }
        }
    }else{
        $url.="/?_c=".trim($c);
        $url.="&_a=".trim($a);
        if (!empty($data)){
            foreach($data as $key => $value){
                $url.="&".$key."=".rawurlencode($value);
            }
        }
    }

    return $url;
}

/**
 * 获取个人主页url
 * $user_id int :  用户编号
 */
function get_home_url($user_id=0) {
    $url=C('HOME_URL')."/".$user_id."/";
    return $url;
    //http://home.uvan.com/?_c=home_user&_a=index&uid=11001（个人主页的）
}

/**
 * 获取poi图片列表中的某一张图片url
 * $photo_id int :  照片编号
 */
function get_poi_photo_url($photo_id,$poiid,$poiname) {
    $url=C('HOME_URL').C('PHOTO_POI_URL').$photo_id."&poiid=".$poiid."&poiname=".urlencode($poiname);
    return $url;
    //http://home.uvan.com/?_c=home_user&_a=index&uid=11001（个人主页的）
}

/**
 * 得到搜索的链接
 */
function get_search_url() {
	return C('HOME_URL').'/search/';
}


/**
 * 获取图片散列目录
 */
function get_read_img_hash_route($photo_id){

	$dic_1=floor(bcmod($photo_id, '10000')/1000);
	$dic_2=floor(bcmod($photo_id, '1000')/100);
	$dic_3=floor(bcmod($photo_id, '100')/10);
	$dic_4=bcmod($photo_id, '10');
	return $set_dir=$dic_1."/".$dic_2."/".$dic_3."/".$dic_4."/";
}


/**
 * 图片路由规则
 */
function get_read_img_route($photo_id,$upload_read=0,$upload_write=0){

	$dic_1=floor(bcmod($photo_id, '10000')/1000);
	$dic_2=floor(bcmod($photo_id, '1000')/100);
	$dic_3=floor(bcmod($photo_id, '100')/10);
	$dic_4=bcmod($photo_id, '10');
	if ($upload_write){
	    $set_path=C('PHOTO_UPLOAD_PATH');
	}else{
	    if ($upload_read){
	        $set_path=C('PHOTO_DOMAIN');
	    }else{
        	$url_config=C('PHOTO_RD_URL');
        	$config_num=count($url_config);
            $url_mod=bcmod($photo_id,$config_num);
            $set_path=$url_config[$url_mod];
        }
    }
	return $set_dir=$set_path."/uploads/".$dic_1."/".$dic_2."/".$dic_3."/".$dic_4."/";
}


/**
 * 记录API的错误日志
 */
function client_api_error($message) {
    if (!empty($message)) {
        error_log($message,3,RUNTIME_PATH."api.error.".date("Y-m-d")."log");
    }
}

/**
 * 返回用户提交的变量$_POST与$_GET
 *
 * @param 	string		$name	要获取的参数名(置零为全部提取，以数组形式返回)
 * @param 	string		$rule	过滤规则
 * @param 	string		$method	获取方法(1为get，2为post，其它为混合)
 *
 * @return  mixed				获取到的值
 */
function G( $name = '', $rule = '', $method = '' ) {
	$result = '';
	if (!$name) {
		if ( $method == '1' ) {
			$result = $_GET;
		} else if ( $method == '2' ) {
			$result = $_POST;
		} else {
			$result = array_merge($_GET,$_POST);
		}
	} else if ($method != '1' && isset($_POST[$name])) {
		$result = $_POST[$name];
	} else if ($method != '2' && isset($_GET[$name])) {
		$result = $_GET[$name];
	} else {
		return false;
	}
	switch ( $rule ) {
		case 'none':
			break;
		case 'intval':
			$result = set_intval($result);
			break;
		case 'php_var':
			$result = php_var($result);
			break;
		default:
			$result = strip_lgt($result);
			break;
	}
	return $result;
}



/**
 * 将左右尖括号转换为字符实体
 *
 * @param 	mixed		$data	待转换数据
 *
 * @return  mixed				转换后的值
 */
function strip_lgt( &$data ) {
	if (is_array($data) || is_object($data)) {
		foreach ($data as &$v) {
			$v = strip_lgt($v);
		}
	} else {
		$data = str_replace('<', '&lt;', $data);
		$data = str_replace('>', '&gt;', $data);
	}
	return $data;
}



/**
 * 转换为数字
 *
 * @param 	string		$data	待转换数据
 *
 * @return  int					转换后的值
 */
function set_intval( &$data ) {
	if (is_array($data) || is_object($data)) {
		foreach ($data as &$v) {
			$v = set_intval($v);
		}
	} else {
		$data = intval($data);
	}
	return $data;
}



/**
 * 转换为数字
 *
 * @param 	string		$data	待转换数据
 *
 * @return  int					转换后的值
 */
function big_intval( &$data ) {
	if (is_array($data) || is_object($data)) {
		foreach ($data as &$v) {
			$v = set_intval($v);
		}
	} else if ( ! $data ) {
		$data = 0;
	} else if ( ! is_numeric($data) ) {
		$data = intval($data);
	}
	return $data;
}



/**
 * 按php变量命名规范过滤
 *
 * @param 	string		$data	待转换数据
 *
 * @return  int					转换后的值
 */
function php_var( &$data ) {
	if (is_array($data) || is_object($data)) {
		foreach ($data as &$v) {
			$v = php_var($v);
		}
	} else {
		$data = preg_replace( '/[^a-zA-Z0-9_]/', '', $data );
	}
	return $data;
}


/**
 * 缓存操作函数
 *
 * @param string op, get/set/del
 */
function do_cache($op, $type, $k, $v='', $app_name='') {

	static $cache_list=array();

	if (empty($app_name)) $app_name = APP_NAME;

	if (IS_CLI) {
		$cache = new Cache($app_name);
	}
	else {
		$cache = new Cache($app_name);
	}

	if ($op === 'get') {
		$ret = $cache->get($type, $k);
		if (($ret === false) || ($ret === '')) return false;
		return $ret;
	}
	elseif ($op === 'set') {
		return $cache->set($type, $k, $v);
	}
	elseif ($op === 'del') {
		return $cache->delete($type, $k);
	}
	else {
		trigger_error(__FUNCTION__.': 非法缓存操作类型!', E_USER_ERROR);
	}
}

/**
 * 队列操作函数
 *
 * @param string q_name, 队列名称
 * @param string op, 操作类型
 * @param mixed data，要操作的数据，只对add/update有效
 * @param mixed where, 条件，只对update/delete有效
 * @param string app_name, 可选，应用名
 * @param string alias, 可选，表别名
 * @param string hash_key, 可选，分库分表依据字段的值！
 */
function do_queue($q_name='', $op, $data='', $where='', $app_name='w', $alias='', $hash_key='') 
{
	static $queue_list=array();

	if (empty($app_name)) $app_name = 'w';

	if (!in_array($op, array('add', 'update', 'delete'))) {
		trigger_error(__FUNCTION__.': 非法队列操作类型!', E_USER_ERROR);
	}

	if (IS_CLI || (!isset($queue_list[$app_name.'__'.$q_name]))) {
		$queue_list[$app_name.'__'.$q_name] = new Queue($app_name, $q_name);
	}
	$queue = $queue_list[$app_name.'__'.$q_name];

	$str = array(
		'op'=>$op,
	);
	if (!empty($data))     $str['data']     = $data;
	if (!empty($where))    $str['where']    = $where;
	if (!empty($alias))    $str['alias']    = $alias;
	if (!empty($hash_key)) $str['hash_key'] = $hash_key;

	$str = json_encode($str);

	$log_str = '';
	try 
	{
		$ret = $queue->put($str);

		if ($ret === true) {
			return true;
		}

		return false;
	}
	catch (Exception $ex) {
		return false;
	}

}

/**
 * 根据IP定位
 *
 * @param string ip
 * @param int poi_id
 */
function getIpLocation($ip='', $poi_id=0) {
	static $location_api = null;

	$poi_id = Cookie::get('ipos');
	if(is_null($location_api))
		$location_api = new LocationApi();

	if(empty($poi_id) || !is_numeric($poi_id)) { //cookie中没有

		if ((!$poi_id) && empty($ip))
			$ip = get_ip();

		$ret = $location_api->getLocation($ip,$poi_id);

		if(is_array($ret) && $ret['code'] == 1) {
			Cookie::set('ipos', $ret['data']['poi_id'], 7776000);
			return $ret['data'];
		}
		else
			return array('poi_id' =>39,'poi_name'=>'上海','lat'=>31.22,'lng'=>121.48);
	}
	else { //cookie中存在
		$ret = $location_api->getLocation('', intval($poi_id));
		if(is_array($ret) && $ret['code'] == 1)
			return $ret['data'];
		else
			return array('poi_id' =>39,'poi_name'=>'上海','lat'=>31.22,'lng'=>121.48);
	}
}

function getCityWeather($pid){
	static $poi_api = null;

	if (is_null($poi_api)) {
		if(!class_exists('PoiApi')) require PUBLIC_ROOT.'/api/dest/poi_api.class.php';
		$poi_api = new PoiApi();
	}
	return $poi_api->getCityWeather($pid);
}

/**
 * 根据传入的css相对路径，组装完整的css url + version
 * @param string $path
 */
function get_css_url($path)
{
	$css_domain = C('CSS_DOMAIN');

	return $css_domain . $path . '?v=' . C('CSS_VERSION');
}


/**
 * 根据传入的js相对路径，组装完整的js url + version
 * @param string $path
 */
function get_js_url($path)
{
	$css_domain = C('JS_DOMAIN');

	return $css_domain . $path . '?v=' . C('JS_VERSION');
}


/**
 * 根据传入的img的相对路径，组装完整的img url
 */
function get_img_url($path){
    $img_domain_list = C('IMG_DOMAIN');
    
    $idx = bcmod(abs(crc32(uniqid(true, true))), count($img_domain_list));
    
    return $img_domain_list[$idx] . $path;
}
